Current File : //usr/lib64/nagios/plugins/check_memory
#!/bin/bash
# WebSouls Script
# Description: Nagios Plugins
# Author: Technial Department

#                                                                             
#        █                    █                                               
#  ░███▒ █                    █             █▒  ▒█                              █░  █                                      
# ░█▒ ░█ █                    █             ██  ██                              ▓▒ ▒▓                                
# █▒     █▒██▒   ███    ▓██▒  █  ▒█         ██░░██  ███   ██▓█▓   ███    █▒██▒  ▒█ █▒                               
# █      █▓ ▒█  ▓▓ ▒█  ▓█  ▓  █ ▒█          █▒▓▓▒█ ▓▓ ▒█  █▒█▒█  █▓ ▓█   ██  █   █ █                                
# █      █   █  █   █  █░     █▒█           █ ██ █ █   █  █ █ █  █   █   █       █▓▓                            
# █      █   █  █████  █      ██▓           █ █▓ █ █████  █ █ █  █   █   █       ▒█                            
# █▒     █   █  █      █░     █░█░          █    █ █      █ █ █  █   █   █       ▒█                          
# ░█▒ ░▓ █   █  ▓▓  █  ▓█  ▓  █ ░█          █    █ ▓▓  █  █ █ █  █▓ ▓█   █       █▒                             
#  ▒███▒ █   █   ███▒   ▓██▒  █  ▒█         █    █  ███▒  █ █ █   ███    █      ███ 
#

if [ "$1" = "-w" ] && [ "$2" -gt "0" ] && [ "$3" = "-c" ] && [ "$4" -gt "0" ]; then
	FreeM=`free -m`
        memTotal_m=`echo "$FreeM" |grep Mem |awk '{print $2}'`
        memUsed_m=`echo "$FreeM" |grep Mem |awk '{print $3}'`
        memFree_m=`echo "$FreeM" |grep Mem |awk '{print $4}'`
        memBuffer_m=`echo "$FreeM" |grep Mem |awk '{print $6}'`
        memCache_m=`echo "$FreeM" |grep Mem |awk '{print $7}'`
        memUsedPrc=`echo $((($memUsed_m*100)/$memTotal_m))||cut -d. -f1`
        if [ "$memUsedPrc" -ge "$4" ]; then
                echo "Memory: CRITICAL Total: $memTotal_m MB - Used: $memUsed_m MB - $memUsedPrc% used!|TOTAL=$memTotal_m; USED=$memUsed_m; CACHE=$memCache_m; BUFFER=$memBuffer_m;"
                exit 2
        elif [ "$memUsedPrc" -ge "$2" ]; then
                echo "Memory: WARNING Total: $memTotal_m MB - Used: $memUsed_m MB - $memUsedPrc% used!|TOTAL=$memTotal_m; USED=$memUsed_m; CACHE=$memCache_m; BUFFER=$memBuffer_m;"
                exit 1
        else
                echo "Memory: OK Total: $memTotal_m MB - Used: $memUsed_m MB - $memUsedPrc% used|TOTAL=$memTotal_m; USED=$memUsed_m; CACHE=$memCache_m; BUFFER=$memBuffer_m;"
                exit 0
        fi
else		# If inputs are not as expected, print help. 
	
	echo -e "# Usage:\t$sName -w <warnlevel> -c <critlevel>"
        echo -e "\t\t= warnlevel and critlevel is percentage value without %\n"
        
        exit
fi